import { defineConfig } from 'vite';
import { createVitePlugins } from './build/plugins';

// https://vitejs.dev/config/
export default defineConfig(() => {
  return {
    plugins: createVitePlugins(),
    resolve: {
      alias: {
        '@': '/src',
        '#': '/types',
      },
    },
    css: {
      preprocessorOptions: {
        less: {
          javascriptEnabled: true,
          charset: false,
        },
      },
    },
    server: {
      open: true,
      port: 7001,
      // 跨域处理
      proxy: {
        '/api': {
          target: 'http://127.0.0.1:2508', // 后端 API 地址
          changeOrigin: true, // 修改请求头中的 Origin，避免 CORS 问题
          rewrite: (path) => path.replace('/api', ''), // 重写路径，去掉 /api 前缀
        },
        '/files': {
          target: 'https://cloudfiles.moujitx.cn',
          changeOrigin: true, // 修改请求头中的 Origin，避免 CORS 问题
          rewrite: (path) => path.replace('/files', '/web-metro'),
        },
      },
    },
    build: {
      chunkSizeWarningLimit: 1000, // chunk大小警告
      sourcemap: false, //构建后是否生成 source map 文件
      minify: 'terser', //terser 构建后文件体积更小
      terserOptions: {
        compress: {
          // 生产环境时移除console和debugger
          drop_console: true,
          drop_debugger: true,
        },
      },
    },
  };
});
